Print artifact compensation mechanism

ABSTRACT

A system is disclosed. The system includes at least one physical memory device to store compensation logic and one or more processors coupled with the at least one physical memory device to execute the compensation logic to generate inverse transfer functions for each of a plurality of color planes to compensate for overlapping pel forming elements of adjacent printheads based on ink deposition functions for groups of pel forming elements including non-overlapping pel forming elements and the overlapping pel forming elements, wherein the inverse transfer functions transform output digital counts and the ink deposition functions represent output ink amount versus input digital count and generate compensated halftones for each of a plurality of color planes based on the inverse transfer functions.

FIELD OF THE INVENTION

The invention relates to the field of image reproduction, and inparticular, to uniformity compensation.

BACKGROUND

Entities with substantial printing demands typically implement ahigh-speed production printer for volume printing (e.g., one hundredpages per minute or more). Production printers may includecontinuous-forms printers that print on a web of print media (or paper)stored on a large roll. A production printer typically includes alocalized print controller that controls the overall operation of theprinting system, and a print engine that includes one or more printheadassemblies, where each assembly includes a printhead controller and aprinthead (or array of printheads). Each printhead contains many nozzles(e.g., inkjet nozzles) for the ejection of ink or any colorant suitablefor printing on a medium.

Prior to commencing printing operations, compensation may be performedto compensate for measured response differences for a printhead nozzlewhich is not jetting properly. Compensation methods are based onuniformity compensation of nozzles. However, various nozzles may becomedefective which may lead to undesired changes (e.g., artifacts) injetting output such as voids or banding. For example, some nozzles maybe subject to jet-outs, while others may be affected by an overlapbetween printheads.

Current uniformity compensation relies on multiple process iterations tocompensate for a nozzle that is not jetting properly. Having to performmultiple iterations of compensation is an inefficient process as ittakes up time and requires more printing of test patterns. Furtherstill, conventional methods may be unable to correct the artifactssufficiently even when complete.

Accordingly, an improved mechanism to perform nozzle compensation forjet-outs and printhead overlap is desired.

SUMMARY

In one embodiment, a system is disclosed. The system includes at leastone physical memory device to store compensation logic and one or moreprocessors coupled with the at least one physical memory device toexecute the compensation logic to generate inverse transfer functionsfor each of a plurality of color planes to compensate for overlappingpel forming elements of adjacent printheads based on ink depositionfunctions for groups of pel forming elements including non-overlappingpel forming elements and the overlapping pel forming elements, whereinthe inverse transfer functions transform output digital counts and theink deposition functions represent output ink amount versus inputdigital count and generate compensated halftones for each of a pluralityof color planes based on the inverse transfer functions.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention can be obtained from thefollowing detailed description in conjunction with the followingdrawings, in which:

FIG. 1 is a block diagram of one embodiment of a printing system;

FIG. 2 is a block diagram of one embodiment of a print controller;

FIG. 3 is a graph illustrating jet-out ink deposition withoutcompensation.

FIG. 4 is a graph illustrating ink deposition vs digital count withoutcompensation.

FIG. 5 illustrates one embodiment of a compensation module;

FIG. 6 illustrates one embodiment of ink deposition computation logic;

FIG. 7 is a flow diagram illustrating one embodiment of a process tocompute ink deposition;

FIG. 8 illustrates one embodiment of a compensation engine;

FIG. 9 is a flow diagram illustrating one embodiment of a process forgenerating transfer functions;

FIG. 10 is a flow diagram illustrating one embodiment of a process forgenerating compensated halftones;

FIG. 11 is a graph illustrating jet-out ink deposition withcompensation;

FIG. 12 is a graph illustrating ink deposition vs digital count withjet-out compensation;

FIG. 13 is a graph illustrating ink deposition Gaussian profiles withjet-out compensation;

FIG. 14 illustrates one embodiment of a verification engine;

FIG. 15 is a flow diagram illustrating one embodiment of a verificationprocess;

FIGS. 16A&B are graphs illustrating printhead overlap ink depositionwithout compensation;

FIG. 17 is a graph illustrating ink deposition vs digital count withoutprinthead overlap compensation;

FIG. 18 is a graph illustrating ink deposition without printhead overlapcompensation;

FIGS. 19A&B are graphs illustrating ink deposition with printheadoverlap compensation;

FIG. 20 is a graph illustrating ink deposition vs digital count withprinthead overlap compensation;

FIG. 21 is a graph illustrating ink deposition with printhead overlapcompensation;

FIG. 22 illustrates one embodiment of a compensation module implementedin a network; and

FIG. 23 illustrates one embodiment of a computer system.

DETAILED DESCRIPTION

A print artifact compensation mechanism is described. In the followingdescription, for the purposes of explanation, numerous specific detailsare set forth to provide a thorough understanding of the presentinvention. It will be apparent, however, to one skilled in the art thatthe present invention may be practiced without some of these specificdetails. In other instances, well-known structures and devices are shownin block diagram form to avoid obscuring the underlying principles ofthe present invention.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment.

FIG. 1 is a block diagram illustrating one embodiment of a printingsystem 130. A host system 110 is in communication with the printingsystem 130 to print a sheet image 120 onto a print medium 180 via aprinter 160 (e.g., print engine). Print medium 180 may include paper,card stock, paper board, corrugated fiberboard, film, plastic,synthetic, textile, glass, composite or any other tangible mediumsuitable for printing. The format of print medium 180 may be continuousform or cut sheet or any other format suitable for printing. Printer 160may be an ink jet, electrophotographic or another suitable printer type.

In one embodiment, printer 160 comprises one or more printheads 162,each including one or more pel forming elements 165 that directly orindirectly (e.g., by transfer of marking material through anintermediary) forms the representation of picture elements (pels) on theprint medium 180 with marking material applied to the print medium. Inan ink jet printer, the pel forming element 165 is a tangible devicethat ejects the ink onto the print medium 180 (e.g., an ink jet nozzle)and, in an electro-photographic (EP) printer the pel forming element maybe a tangible device that determines the location of toner particlesprinted on the print medium (e.g., an EP exposure LED or an EP exposurelaser).

According to one embodiment, pel forming elements may be grouped ontoone or more printheads 162. The pel forming elements 165 may bestationary (e.g., as part of a stationary printhead 162) or moving(e.g., as part of a printhead 162 that moves across the print medium180) as a matter of design choice. In a further embodiment, pel formingelements 165 may be assigned to one of one or more color planes thatcorrespond to types of marking materials (e.g., Cyan, Magenta, Yellow,and blacK (CMYK)). These types of marking materials may be referred toas primary colors.

Printer 160 may be a multi-pass printer (e.g., dual pass, 3 pass, 4pass, etc.) wherein multiple sets of pel forming elements 165 print thesame region of the print image on the print medium 180. In such anembodiment, the set of pel forming elements 165 may be located on thesame physical structure (e.g., an array of nozzles on an ink jetprinthead 162) or separate physical structures. The resulting printmedium 180 may be printed in color and/or in any of a number of grayshades, including black and white (e.g., Cyan, Magenta, Yellow, andblacK, (CMYK) and secondary colors (e.g., Red, Green and Blue), obtainedusing a combination of two primary colors). The host system 110 mayinclude any computing device, such as a personal computer, a server, oreven a digital imaging device, such as a digital camera or a scanner.

The sheet image 120 may be any file or data that describes how an imageon a sheet of print medium 180 should be printed. For example, the sheetimage 120 may include PostScript data, Printer Command Language (PCL)data, and/or any other printer language data. The print controller 140processes the sheet image to generate a bitmap 150 for transmission. Thebitmap 150 contains the instructions (e.g., ink drop size and/orlocation) for the one or more printheads 162 and pel forming elements165. Bitmap 150 may be a halftoned bitmap (e.g., a compensated halftonebit map generated from compensated halftones, or un-compensated halftonebit map generated from un-compensated halftones) for printing to theprint medium 180. The printing system 130 may be a high-speed printeroperable to print relatively high volumes (e.g., greater than 100 pagesper minute).

The print medium 180 may be continuous form paper, cut sheet paper,and/or any other tangible medium suitable for printing. The printingsystem 130, in one generalized form, includes the printer 160 thatpresents the bitmap 150 onto the print medium 180 (e.g., via toner, ink,etc.) based on the sheet image 120. Although shown as a component ofprinting system 130, other embodiments may feature printer 160 as anindependent device communicably coupled to print controller 140.

The print controller 140 may be any system, device, software, circuitryand/or other suitable component operable to transform the sheet image120 for generating the bitmap 150 in accordance with printing onto theprint medium 180. In this regard, the print controller 140 may includeprocessing and data storage capabilities. In one embodiment, measurementmodule 190 is implemented as part of a compensation system to obtainmeasurements of the printed medium 180. The measured results arecommunicated to print controller 140 to be used in a compensationprocess. The measurement system may be a stand-alone process or beintegrated into the printing system 130.

According to one embodiment, measurement module 190 may be a sensor totake optical measurements of printed images on print medium 180.Measurement module 190 may generate and transmit measurement data.Measurement data may be OD (e.g., optical density), perceptual lightness(e.g., L* in the CIELAB color plane L*a*b*) and/or scanned image (e.g.,RGB) data corresponding to a printed image. In one embodiment,measurement module 190 may comprise one or more sensors thatindividually or in total take measurements for printed markings producedfor some or all pel forming elements 165. In another embodiment,measurement module 190 may be a camera system, in-line scanner,densitometer or spectrophotometer.

In a further embodiment, measurement data may include a map informationto correlate portions of the measurement data (e.g., OD data) to thecorresponding pel forming elements 165 that contributed to the portionsof the measurement data. In another embodiment, the print instructionsfor a test pattern (e.g., step chart) provides the correlation of theportions of the measurement data to the corresponding pel formingelements that contributed to the portions of the measurement data.

FIG. 2 is a block diagram illustrating one embodiment of a printcontroller 140. The print controller 140, in its generalized form,includes an interpreter module 212, a halftoning module 214, and acompensation module 216. These separate components may representhardware used to implement the print controller 140. Alternatively, oradditionally, the separate components may represent logical blocksimplemented by executing software instructions in a processor of theprinter controller 140.

The interpreter module 212 is operable to interpret, render, rasterize,or otherwise convert images (e.g., raw sheetside images such as sheetimage 120) of a print job into sheetside bitmaps. The sheetside bitmapsgenerated by the interpreter module 212 for each primary color are eacha 2-dimensional array of pels representing an image of the print job(i.e., a Continuous Tone Image (CTI)), also referred to as fullsheetside bitmaps. The 2-dimensional pel arrays are considered “full”sheetside bitmaps because the bitmaps include the entire set of pels forthe image. The interpreter module 212 is operable to interpret or rendermultiple raw sheetsides concurrently so that the rate of renderingsubstantially matches the rate of imaging of production print engines.In one embodiment, transfer functions may be implemented by printcontroller 140 and applied directly to image data (e.g., contone data)as a part of the image processing prior to printing. In that case, thecontone image data (CTI) is transformed (e.g., compensated) by thetransfer functions prior to halftoning.

Halftoning module 214 is operable to represent the sheetside bitmaps ashalftone patterns of ink. For example, halftoning module 214 may convertthe pels (also known as pixels) to halftone patterns of CMYK ink forapplication to the paper. A halftone design may comprise a pre-definedmapping of input pel gray levels to output drop sizes based on pellocation.

In one embodiment, the halftone design may include a finite set oftransition thresholds between a finite collection of successively largerinstructed drop sizes, beginning with zero and ending with a maximumdrop size (e.g., none, small, medium and or large). The halftone designmay be implemented as threshold arrays (e.g., halftone threshold arrays)such as single bit threshold arrays or multibit threshold arrays. Inanother embodiment, the halftone design may be implemented as athree-dimensional look-up table with all included gray level values.

In a further embodiment, halftoning module 214 performs the multi-bithalftoning using the halftone design consisting of a set of thresholdvalues for each pel in the sheetside bitmap, where there is onethreshold for each non-zero ink drop size. The pel is halftoned with thedrop size corresponding to threshold values for that pel. This set ofthresholds for a collection of pels is referred to as a multi-bitthreshold array (MTA).

Multi-bit halftoning is a halftone screening operation in which thefinal result is a selection of a specific drop size available from anentire set of drop sizes that the print engine is capable of employingfor printing. Drop size selection based on the contone value of a singlepel is referred to as “Point Operation” halftoning. The drop sizeselection is based on the pel values in the sheetside bitmap. Thiscontrasts with “Neighborhood Operation” halftoning, where multiple pelsin the vicinity of the pel being printed are used to determine the dropsize. Examples of neighborhood operation halftoning include thewell-known error diffusion method.

Multi-bit halftoning is an extension of binary halftoning, where binaryhalftoning may use a single threshold array combined with a logicaloperation to decide if a drop is printed based on the contone level fora pel. Binary halftoning uses one non-zero drop size plus a zero dropsize (i.e., a drop size of none where no ink is ejected). Multi-bithalftoning extends the binary threshold array concept to more than onenon-zero drop size.

Multi-bit halftoning may use multiple threshold arrays (i.e., multi-bitthreshold arrays), one threshold array for each non-zero drop size. Thepoint operation logic is also extended to a set of greater than and lessthan or equal to operations to determine the drop size by comparing thethreshold and image contone data for each pel. Multi-bit defines a powerof two set of drop sizes (e.g., two-bit halftone designs have four totaldrops, including a zero drop size). While power of two may be employedto define the number of drops, systems not following this such as athree total drop system may be used and are still considered multi-bit.

Compensation module 216 performs a compensation process on anun-compensated halftone 218, or previously generated uniformitycompensated halftone, received at print controller 140 to generate oneor more compensated halftones 220. Compensated halftones 220 are thenreceived at halftoning module 214 along with the sheetside bitmap. Inone embodiment, an un-compensated halftone 218 represents a referencehalftone design that is modified to create the compensated halftones. Insuch an embodiment, measurements of the system response are received viameasurement module 190 using the un-compensated halftone 218 forprinting the system response.

According to one embodiment, compensation module 216 may also beimplemented to perform compensation for defective pel forming elements165. In such an embodiment, defective pel forming elements 165 mayresult from jet-outs and/or incorrect printhead overlap.

Jet-Out Compensation

A jet-out is a print defect (e.g., pel forming element artifact) causedby a completely blocked ink jet nozzle and the result is no inkdeposited on the print medium when the blocked ink jet nozzle isinstructed to fire. Other failure mechanisms may exist to cause a jetout that exhibit the same resulting lack of ejected drop. FIG. 3 is agraph illustrating simulated jet-out ink deposition withoutcompensation. The graph shows ink deposition (e.g., ink volume or massdeposited within a unit area) versus the X direction position for anyarray of ink jet nozzles. A family of ink deposition curves is shown fordifferent digital counts (DC). Since this is a simulation of a limitednumber of ink jet nozzles, some edge effects at the outer positions canbe seen that are not of concern. The X direction is typically defined asacross the print medium web (e.g., in the direction of the nozzles inthe array, orthogonal to the direction of print medium travel) for aproduction printer. As shown in FIG. 3 , an ink deposition deficiency(“valley” or “divot”) is apparent at the x=0 position where a pelforming element 165 is not depositing ink. Similarly, FIG. 4 is a graphillustrating ink deposition vs digital count without compensation, andincluding lines 410, 420 and 430. These lines are evaluated at the sameX position. Line 410 indicates a target ink deposition (e.g., inkdeposition without a jet-out). Line 420 indicates ink depositionassociated with a jet-out, while line 430 shows ink deposition for aconventional correction process applied to image data for adjacent pelforming elements 165

According to one embodiment, compensation module 216 is implemented toperform uniformity compensation to correct jet-outs at pel formingelements 165. In such an embodiment, compensation module 216 generatestransfer functions for each of a plurality of color planes (e.g., CMYK)to compensate for non-functioning pel forming elements 165. As a result,the transfer functions are generated based on ink deposition functions(e.g., representations of ink volume or mass deposited in a unit areaversus input digital count) for groups of pel forming elements includingfunctioning pel forming elements and non-functioning pel formingelements.

In a further embodiment, compensation module 216 generates a first inkdeposition function associated with a local group (IDLG) of pel formingelements 165 for each of a plurality of color planes, generates a secondink deposition function associated with the local group having one ormore non-functioning pel forming elements 165(IDLGJO) (e.g., attributedto jet-outs), generates a third ink deposition function associated witha non-local group (IDNILG) of pel forming elements 165 and generates thetransfer functions for each of the plurality of color planes based onthe first ink deposition function, the second ink deposition functionand the third ink deposition function. Local group refers to a number ofadjacent (e.g., neighboring) pel forming elements. Referring back toFIG. 3 , the ink deposition curves represent the quantity IDNILG_C(x,DC)+IDLGJO_C(x, DC) for different x and DC values.

In an alternative embodiment, compensation module 216 may generatecompensated halftones 220. In such an embodiment, compensation module216 generates compensated halftones 220 for each of the plurality ofcolor planes based on an Inverse Transfer Function for each of theplurality of color planes derived from the first ink depositionfunction, the second ink deposition function and the third inkdeposition function. In this case the derived Inverse Transfer Functionsare used to transform (e.g., modify, compensate) the thresholds of ahalftone threshold array, in the positional vicinity of the jet-outnozzle location.

In such an embodiment, the halftone thresholds (e.g., original halftonethresholds, unmodified halftone thresholds, uncompensated halftonethresholds) are modified by the inverse transfer functions such that theoutput ink amounts corresponding to modified halftone thresholds (e.g.,compensated halftone thresholds) with the pel forming element artifactsand the output ink amounts corresponding to un-modified halftonethresholds without the pel forming element artifacts are substantiallyequal for a range of the input digital counts. In other words, theinverse transfer functions are generated such that when they are appliedto modify the halftone thresholds, the output ink amounts correspondingto modified halftone thresholds with the pel forming element artifactspresent and the output ink amounts corresponding to un-modified halftonethresholds without the pel forming element artifacts present aresubstantially equal for a range of the input digital counts.

FIG. 5 illustrates one embodiment of compensation module 216. As shownin FIG. 5 , compensation module 216 includes ink deposition computationlogic 520. According to one embodiment, ink deposition computation logic520 generates the IDLG, IDLGJO and IDNILG ink deposition functions basedon a contone (or digital count (DC)). FIG. 6 illustrates one embodimentof ink deposition computation logic 520.

As shown in FIG. 6 , ink deposition computation logic 520 includesprofile generation engine 620, profile aggregation engine 630 and inkdeposition function generator 640. Profile generation engine 620generates Gaussian profiles associated with each ink depositionfunction. Gaussian profiles describe the ink deposition in thehorizontal direction X along the ink jet array. As discussed above, inkdeposition is separated into multiple components. Thus, profileaggregation engine 630 generates Gaussian profiles for the local groupcomponents IDLG and IDLGJO, which include Gaussian profiles that will bemodified (e.g., via transfer function), as well as for IDNILG componentsthat represent all Gaussian profiles that are not modified.

In a further embodiment, Gaussian profiles associated with the IDLG,IDLGJO and IDNILG groups of pel forming elements 165 are based onreceived data (e.g., via received via GUI 550). In this embodiment, thereceived data includes the number of pel forming elements 165, as wellas resolution data 601 for printer 160 and/or pel forming elements 165.The resolution data 601 may be measured in dots per inch (DPI) in adirection (x) or as a physical spacing amount (e.g., the variable ‘s’ aswill be explained below), where the “x” dimension represents horizontalposition for different columns (or pel forming elements 165) in thecross-web direction (e.g., along pel forming elements 165). Thelocations of the pel forming elements 165 may be represented as aprinter grid.

The basis for the Gaussian profile model is the ink distribution for asingle pel forming element 165. A Gaussian distribution is implementedto model how ink from a pel forming element 165 gradually spreads awayfrom the center and provides a closed form expression for the inkdeposition across the single pel forming element 165 for the ink appliedto the media. In one embodiment, a one-dimensional Gaussian profiledistribution of ink is implemented and the one dimension is the Xdirection. The Gaussian distribution concept is extended to matchprovided levels of large-scale ink deposition vs DC. Large-scale inkdeposition is the amount of ink deposited in a unit area for an inputdigital count by an array of properly functioning pel forming elements(e.g., producing no artifacts). The result is a model that describes themicro level distributions of ink, created from macro level halftone inkdeposition, where the micro level is provided by adding a Gaussian inkdistribution description for a pel forming element 165.

For a single pel forming element 165, ink deposition on the media alongthe pel forming element 165 (or nozzle) array direction (e.g., Xdirection) can be described by the equation:ID(x)=Peak_ink_deposition_single_nozzle*exp^(−((x{circumflex over ( )}2)/(2*a{circumflex over ( )}2))Assuming for a single pel forming element 165Peak_ink_deposition_single_nozzle is a function of DC. Where DC isdigital count (e.g., gray level). This basically assumes that the inkdeposition for different DC modulates the peak ink deposition of theGaussian:ID(x,DC)=Peak_ink_deposition_single_nozzle(DC)*exp^(−((x{circumflex over ( )}2)/(2*a{circumflex over ( )}2)),where x is distance in X direction, and a is the standard deviation ofGaussian distribution along the X direction.

The single pel forming element 165 model is extended to describe acollection of pel forming elements 165 from a printhead 162 arrayassuming seven nozzles are sufficient to add to obtain contributionsfrom all of the individual elements at x equals zero (in this case sevenpel forming elements are in the local group however the local group maybe 2, 3, 4, 5, 6, 7, 8, 9 or more pel forming elements), where variables is the spacing distance between nozzles in the X direction (e.g.,variable s is the inverse of Dots Per Inch). The ink depositionfunctions are associated with a spacing amount for the non-functioningpel forming elements and the functioning pel forming elements. The inkdeposition functions may then be expressed as:IDarray(x,DC)=Peak_ink_deposition_single_nozzle(DC)*exp^(−(x{circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x−s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x−(2*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x−(3*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x+s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x+(2*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x+(3*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))

Profile aggregation engine 630 aggregates the Gaussian profiles togenerate local ink contribution data for each of the plurality of colorplanes. In one embodiment, profile aggregation engine 630 receives dropstandard deviation data 603 for each color plane and ink deposition gridvector 604 (x locations where ink depositions are to be computed) andaggregates the Gaussian profiles by summing contributions of Gaussianprofiles for each location x to generate the local ink contribution datafor each of the plurality of color planes.

Profile aggregation engine 630 also receives large-scale inkcontribution data 605 (e.g., the ink deposition versus DC curve(LID(DC))) for each color plane, which is used by profile aggregationengine 630 to combine the local ink contribution data and thelarge-scale ink contribution data to generate large-scale ink depositiondata (ID(x,DC)) that matches the large-scale ink contribution data foreach color plane for the point x=0 (LID(DC)=IDarray(0,DC)). Solving thisequation for Peak_ink_deposition_single_nozzle(DC) at the point x=0provides ink depositions that match the desired input 695 LID(DC). Wenow have a set of equations that describe the ink deposition at a microlevel that have the same ink deposition as the provided large-scale inkdeposition levels 605 as a function of DC.Peak_ink_deposition_single_nozzle(DC)=LID(DC)/[exp^(−(x{circumflex over ( )}2)/(2*a{circumflex over ( )}2))+exp^(−((x−s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+exp^(−((x−(2*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+exp^(−((x−(3*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+exp^(−((x+s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+exp^(−((x+(2*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+exp^(−((x+(3*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))]

This enables computing the ink depositions for the different groups thatwhen combined equal the large-scale ink deposition LID(DC). Inkdeposition function generator 640 uses the large-scale ink depositiondata to generate ink deposition functions associated with the IDLG,IDLGJO and IDNILG groups (e.g., IDLG(x,DC), IDLGJO(x,DC), andIDNILG(x,DC)) for each color plane. Where IDLG is the ink deposition asa function of x for the pel forming elements 165 that will be consideredfor the analysis when a jet out is not present and where IDLGJO is theink deposition as a function of x for the pel forming elements to beconsidered for analysis when a jet out is present and IDNILG is the inkdeposition as a function of x for the pel forming elements that areoutside of the domain of the elements to be considered. The pel formingelements that will be considered for analysis (e.g., the local group)are the elements that will receive compensation by transfer function(TF) modification and/or modification of the halftone threshold array.

Consider an example having three adjacent pel forming elements (e.g.,local group has three elements) where the middle pel forming elementwill be assumed to be the jet out element. Using the previous equation,we solve for Peak_ink_deposition_single_nozzle(DC).IDLG(x,DC)=Peak_ink_deposition_single_nozzle(DC)*exp^(−(x{circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x−s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x+s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))

Similarly for the jet out group the central element is not functioningtherefore we can write:

-   -   IDLGJO(x,DC)=Peak_ink_deposition_single_nozzle(DC)*exp^(−((x−s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x+s){circumflex over ( )}2)/(2*a{circumflex over ( )}2))        and finally the not-in-local group ink deposition consists of        contributions from the four remaining elements surrounding the        local group elements.        IDNILG(x,DC)=Peak_ink_deposition_single_nozzle(DC)*exp^(−((x−(2*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x−(3*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x+(2*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))+Peak_ink_deposition_single_nozzle(DC)*exp^(−((x+(3*s)){circumflex over ( )}2)/(2*a{circumflex over ( )}2))        Similar sets of equations can be written for different cases for        the number of pel forming elements which are functioning and jet        out. The previous equations assume that seven total Gaussians        are sufficient to account for the ink deposition contributions        of all adjacent pel forming elements. This achieves the        objective to match the large-scale ink deposition which is macro        in nature. The number of elements in these equations can be        increased or decreased if necessary to account for additional        pel forming elements in the local group (LG) or not-in-local        group (NILG).

FIG. 7 is a flow diagram illustrating one embodiment of a process 700 togenerate the ink deposition functions. Process 700 may be performed byprocessing logic that may include hardware (e.g., circuitry, dedicatedlogic, programmable logic, microcode, etc.), software such asinstructions run on a processing device, or a combination thereof. Inone embodiment, process 700 is performed by compensation module 216.

At processing block 710, each individual Gaussian profile associatedwith the IDLG, IDLGJO and IDNILG groups of pel forming elements aregenerated. At processing block 720, the Gaussian profiles are aggregatedto generate the local ink contribution data without including thePeak_ink_deposition_single_nozzle(DC) factor (e.g., normalized). Atprocessing block 730, the local ink contribution data is combined withthe large-scale ink contribution data to generate the large-scale inkdeposition data that matches the large-scale ink contribution data. Atprocessing block 740 the ink deposition functions (IDLG, IDLGJO andIDNILG) are generated using the large-scale ink deposition data. Atprocessing block 750, the ink deposition functions are transmitted.

Referring back to FIG. 5 , compensation module 216 also includes acompensation engine 530 implemented to perform compensation based on theIDLG, IDLGJO and IDNILG ink deposition functions. FIG. 8 illustrates oneembodiment of compensation engine 530. As shown in FIG. 8 , compensationengine 530 includes transfer function generation engine 810 that is usedto perform compensation by generating a transfer function (TF_C) foreach color plane (e.g., TF_Cyan, TF_M, TF_Y, TF_K) based on the IDLG,IDLGJO and IDNILG ink deposition functions, such that:IDtotal(x,DC)=IDNILG_C(x,DC)+IDLG_C(x,DC)=IDNILG_C(x,DC)+IDLGJO_C(x,TF_C(DC)),where IDNILG(x, DC) is the ID for the not in local group as a functionof x and DC and the total ink deposition is IDtotal(x, DC).

Furthermore, we set IDtotal(0, DC)=LID(DC) to match the large-scale inkdeposition for a given color ink. This results in:LID(DC)=IDNILG_C(0,DC)+IDLG_C(0,DC)=IDNILG_C(0,DC)+IDLGJO_C(0,TF_C(DC)),which can be solved for TF_C(DC):TF_C(DC)=IDLGJO_C ⁻¹(LID(DC)−IDNILG_C(0,DC))=IDLGJO_C ⁻¹(IDLG_C(0,DC)).As a result, the transfer function TF(DC) for each color (TF_C) for theprinthead jet-out location x=0 can be determined to obtain the desiredtarget ID after TF compensation. In this case of x=0 the location xwhere compensation is achieved corresponds to the center of the jet outelement. Solutions where x=x_(offset) can also be determined where thedesired result is to match ink deposition at a point displaced(x_(offset)˜=0) from the center of the jet out element. Such a point mayproduce a more balanced overshoot/undershoot of ink deposition levels inthe vicinity of the jet out element. Similarly multiple x_(offset)locations can be used and the TF solutions combined. The resulting inkdeposition after compensation provides an improved match to the desiredID to account for the missing ink deposition from the jet out element.

In one embodiment, a transfer function comprises a mapping of an inputdigital count to an output digital count for a system, where digitalcount is the gray level or color value representing the pels in abitmap. In a further embodiment, the transfer functions are generatedusing received input ink deposition X-direction location (x_(offset))data 801. Ink deposition X-direction location data 801 indicates the oneor more X-direction locations corresponding to the generated inkdeposition functions and are associated with the corresponding generatedtransfer functions (or inverse transverse functions).

In the previous descriptions a value of x=0 was employed for thelocation to compute the ink deposition functions. Using an xoffsetalternate location value to determine the ink deposition functions mayprovide a technical advantage of a more balanced overshoot/undershoot inthe vicinity of the jet out. This may produce smaller variations thatfurther improve the jet out compensation for a range of x positions.Furthermore, xoffset may have multiple locations defined. In this casethe ink deposition is computed for each location and combined to producea blended ink deposition (e.g., mean of multiple ink depositions). Thisagain permits adjustment of the overshoot/undershoot to smooth thevariations for different x locations. In the previous description thejetout was at x=0 and ink deposition was computed at x=0. In the newcase the jetout is still at x=0, however ink deposition is computed atthe xoffset location. The result is a TF that is derived based on theink depositions at the xoffset location, instead of x=0.

FIG. 9 is a flow diagram illustrating one embodiment of a process 900for generating compensated transfer functions. Process 900 may beperformed by processing logic that may include hardware (e.g.,circuitry, dedicated logic, programmable logic, microcode, etc.),software such as instructions run on a processing device, or acombination thereof. In one embodiment, process 900 is performed bycompensation module 216.

At processing block 910, ink deposition functions are received. Atprocessing block 920, the transfer functions are generated based on theink deposition functions. At processing block 930, the transferfunctions are transmitted. Printer system 130 may receive the transferfunctions and apply them either directly to the image data or cascadethem with other transfer functions (e.g., uniformity transfer functions)before being applied to image data.

In an alternative embodiment, compensation engine 530 performscompensation by using halftone generation logic 820 (FIG. 8 ) togenerate compensated halftones based on the IDLG, IDLGJO and IDNILG inkdeposition functions. In such an embodiment, compensated halftones aregenerated for each color plane (e.g., HT_C, HT_M, HT_Y, HT_K) bymodifying the thresholds in a received (e.g., un-compensated, original)halftone design at specific columns adjacent to the jet-out. Eachmodified column of the threshold array for all drop sizes is transformedusing inverse transfer functions (ITF_C) generated for each color plane(e.g., ITF_Cyan, ITF_M, ITF_Y, ITF_K) in order to generate a compensatedhalftone design.

In a further embodiment, a received halftone design is implemented togenerate the large-scale ink deposition data vs DC from which the inkdeposition functions are derived. Inverse transfer function generationengine 815 generates inverse transfer functions that are used togenerate compensated halftones. Pel forming elements 165 adjacent orclose to defective nozzles are adjusted to compensate defective pelforming elements 165 in this way. According to one embodiment, theinverse transfer functions are applied to specific columns of thethreshold arrays of un-compensated halftones to generate the compensatedhalftones. An inverse transfer function is the reversed (e.g., inverted)application of the transfer function, where the output digital countvalues of the transfer function form the input digital count values ofthe inverse transfer function (ITF) and the input digital count valuesof the transfer function form the output digital count values of theinverse transfer function. The inverse transfer functions may begenerated based on a mathematical determination of the inverse functionof the transfer functions. ITF may also be derived directly from theIDLG_C and IDLGJO_C functions as follows:ITF_C(DC)=TF_C ⁻¹(DC)=IDLG_C ⁻¹(IDLGJO_C(0,DC)Applying this to converting threshold values to create a halftonethreshold array that contains the jet out compensation:g_output=ITF_C(g_input),where g represents digital count threshold values. g_input is theinitial threshold value from the un-compensated halftone and g_output isthe compensated threshold array value for the compensation halftone.Each threshold for all drop sizes for the columns of the threshold arraycorresponding to the pel forming elements that will be corrected areconverted in the same manner using the ITF.

FIG. 10 is a flow diagram illustrating one embodiment of a process 1000for generating compensated halftones. Process 1000 may be performed byprocessing logic that may include hardware (e.g., circuitry, dedicatedlogic, programmable logic, microcode, etc.), software such asinstructions run on a processing device, or a combination thereof. Inone embodiment, process 1000 is performed by compensation module 216.

At processing block 1010, ink deposition functions are received. Atprocessing block 1020, inverse transfer functions are generated (e.g.,based on the transfer functions or based on the IDLG, IDLGJO and IDNILGink deposition functions). At processing block 1030, the compensatedhalftones are generated. As discussed above, the compensated halftonesare generated by applying the inverse transfer functions to specificcolumns of the un-compensated halftone (e.g., un-compensated thresholdarray) implemented to generate the compensated halftone threshold array.At processing block 1040, the compensated halftones (e.g., compensatedhalftone threshold arrays) are transmitted. Printer system 130 mayreceive the compensated halftones and apply them during the printingprocess.

FIG. 11 is a graph illustrating jet-out ink deposition with appliedcompensation (e.g., transfer functions or compensated halftones). Asshown in FIG. 11 , the divot area has been corrected at the x=0position, which is the center of the jet out pel element. The inkdeposition curves represent the quantity IDNILG_C(x, DC)+IDLGJO_C(x,TF_C(DC)) for different x and DC values using the TF that we havedetermined. Comparing the compensated jet out ink depositions in FIG. 11to the uncompensated jet out ink depositions in FIG. 3 , we can see thatin the area near position x=0 (e.g., the location of the jet out pelforming element) the family of ink deposition curves are flatter in FIG.11 than in FIG. 3 . This flatness is indicative of the degree ofuniformity of the measure printed output. Furthermore, at x=0 the levelof ink deposition in FIG. 11 has been increased for each DC level tomatch the deposition outside the jet out region (e.g., steady state inkdeposition on the far right and far left).

Additionally, FIG. 12 is a graph illustrating ink deposition vs digitalcount with jet-out compensation. Line 1210 indicates the target inkdeposition, while line 1220 indicates ink deposition associated with ajet-out. Line 1230 shows ink deposition corrected via transfer functions(or compensated halftones) generated according to the above-describedcompensation process. As shown in FIG. 12 , the compensated inkdeposition (e.g., line 1230) matches the target ink deposition (e.g.,line 1210) up to a threshold digital count level, at which pointcompensation may not be achieved

FIG. 13 illustrates one embodiment of a compensation of columns ofthreshold data relative to the location of a jet-out/deviated-jetnozzle. FIG. 13 shows a print head 162 including pel forming elements165 that each generate ink drops, where each pel forming element isassociated with a Gaussian profile ink distribution curve. In thisexample a jet-out is located at the middle of the plotted data (e.g.,position x=0), the corresponding pel forming element 165 ejects no inkdrop and the corresponding ink distribution is zero. Four Gaussians havebeen boosted, two on each side of jet-out, to compensate for the missingink deposition created by the jet-out artifact. The level applied tothese four compensated nozzles at each DC is obtained from the transferfunctions generated from the ink deposition functions.

The curve in the middle shows the total ink deposition from all of theGaussians at DC level 217. The curve illustrates that the boosted outputof four nozzles provided an increased ink deposition so that the levelin the “valley” at the jet out location is equal to the ink depositionoutside the jet-out region (e.g., near the edges). The curve at the topshows the ink deposition that occurs at DC level 255 without thejet-out. Without the jet-out compensation the set of Gaussians will allbe the same and there will not be any boosted nozzle outputs.

Referring back to FIG. 5 , a verification engine 540 is also includedwithin compensation module 216. Verification engine 540 appliescompensation data to each of the color planes to generate compensatedink deposition functions (e.g., ID_C, ID_M, ID_Y, ID_K). In oneembodiment, verification engine 540 applies the generated transferfunctions to the large-scale ink deposition data (e.g., generated atprofile aggregation engine 630) to generate the compensated inkdeposition functions. However, in an alternative embodiment,verification engine 540 employs the compensated halftones ascompensation data to generate the compensated ink deposition functions.In this embodiment, the compensated halftones are generated using theinverse transfer functions and the ink depositions computed for eachcolumn of the threshold array. This provides a means to verify TFcompensated or halftone compensated artifacts.

FIG. 14 illustrates one embodiment of verification engine 540, whichincludes an application engine 1410 to apply compensation data. As shownin FIG. 14 , application engine 1410 receives large-scale ink depositiondata 1401 and transfer functions 1402. In one embodiment, the generatedtransfer functions 1402 are received and applied to the ink depositiondata with jet out (IDLGJO_C) 1401 to generate a compensation inkdeposition function. In this embodiment, the compensation ink depositionfunction corresponds to the IDLGJO ink deposition function.

According to one embodiment, application engine 1410 compares thecompensation ink deposition function to the IDLGJO ink depositionfunction to determine a difference and to LID. In such an embodiment,application engine 1410 verifies whether a difference between thecompensation deposition function and the IDLGJO and LID ink depositionfunction is within a predetermined threshold (e.g., as defined by avalue received via GUI 550). In a further embodiment, application engine1410 validates an acceptable compensation upon determining that thedifference is within the predetermined threshold. FIG. 12 is an exampleshowing ink depositions determined by the compensation verification.

FIG. 15 is a flow diagram illustrating one embodiment of a verificationprocess 1500 using transfer functions. Process 1500 may be performed byprocessing logic that may include hardware (e.g., circuitry, dedicatedlogic, programmable logic, microcode, etc.), software such asinstructions run on a processing device, or a combination thereof. Inone embodiment, process 1500 is performed by compensation module 216.

At processing block 1510, the large-scale ink deposition data 1401 isreceived and IDLGJO and IDNILG. At processing block 1520, the generatedtransfer functions 1402 are received. At processing block 1530, thetransfer functions 1402 are applied to the IDLGJO ink deposition data1401 to generate the compensated ink deposition function. At processingblock 1540, a difference between the compensated ink deposition functionand the IDLGJO and LID ink deposition functions are determined.Comparing compensated results to LID indicates how close the match isand over what specific range of DC levels. Comparing to IDLGJO allowsone to quantify how much modification of ink deposition has occurred.

At decision block 1550, a determination is made as to whether thedifference is greater than the threshold. If so, a validation message isgenerated indicating that the compensation has been validated asacceptable, processing block 1560. Otherwise, an invalidation message isgenerated indicating that the compensation has been invalidated asunacceptable, processing block 1570. At processing block 1580, thecompensated ink deposition function as well as an associated message(e.g., validation or invalidation message) is transmitted.

Printhead Overlap

A discussed above, compensation module 216 may also be implemented toperform compensation for pel forming elements attributed to printheadoverlap. Printhead overlap results from an incorrectly spaced gapbetween adjoining printheads 162. This incorrect overlap may occurduring manufacturing of the printer, after replacement of a printhead orsome other physical change of the printhead. For example, FIGS. 16A&16Billustrate printhead overlap ink deposition scenarios withoutcompensation. FIG. 16A illustrates overlap ink deposition in whichadjacent printheads 162 are too far apart (e.g., negative overlap). Asshown in FIG. 16A, an ink deposition deficiency is apparent at the x=0position where pel forming elements 165 from different printheads 162are too far apart.

FIG. 16B illustrates overlap ink deposition in which adjacent printheads162 are too close together (e.g., positive overlap). In this instancethere is excess ink deposition at the x=0 position due to the pelforming elements 165 from different printheads 162 being too close. Inthese cases, the point x=0 is the mid-point between the last pel formingelement of one printhead and the first pel forming element of adifferent printhead. All other pel forming elements in each of the twoprintheads are at their nominal spacings (e.g., nominal nozzle to nozzlespacing).

FIG. 17 is a graph illustrating ink deposition vs digital count withoutprinthead overlap compensation. FIG. 17 shows lines 1710, 1720, 1730,1740, 1750 and 1760. Line 1710 indicates ink deposition without overlapfor all pel forming elements 165, while line 1720 indicates inkdeposition with overlap for all pel forming elements 165. Line 1730indicates ink deposition without overlap for pel forming elements 165 ina local group, while line 1740 indicates ink deposition with overlap forpel forming elements 165 in a local group. Similarly, line 1750indicates ink deposition without overlap for pel forming elements 165not in a local group, while line 1760 indicates ink deposition withoverlap for pel forming elements 165 not in a local group.

Overlap refers to the physical distance amount (e.g., gap) between thelast pel forming element of one printhead and the first pel formingelements of the second adjacent printhead, which in this case is largerthan the nominal pel to pel element spacing within the printheads.Overlap can apply to the case where the last and first pel formingelements have spacing greater than or less than the nominal ideal pel topel element spacing. Note that in this case the not in local group inkdepositions are different for the cases with and without overlap, whichis different than what occurs when jet out depositions are determined.This occurs due to the fact that the overlap has an impact on the not inlocal group ink deposition when an overlap is present.

Additionally, FIG. 18 is a graph illustrating printhead overlap inkdeposition without compensation (e.g., overlap compensation) foradjacent printheads 162 (PH1 and PH2) where the midpoint between pelforming elements for the two printheads is defined to be at x=0 and theprintheads are too far apart. The top line is the large-scale inkdeposition. The middle line shows the total ink deposition with thevalley corresponding to the gap between the two printheads. The familyof curves at the bottom show the Gaussian profile ink distribution foreach of the ink jet nozzles, where each Gaussian is associated with apel forming element 165. Each of the printheads 162 (PH1 and PH2)comprise pel forming elements 165 that are physically spaced apart adistance s (e.g., nominal spacing for pel forming elements 165) in the Xdirection. The physical distance amount between the outer pel formingelement 165 of PH1 and the adjacent outer pel forming element PH2 is splus delta t (e.g., Δt). In this case delta t is positive indicatingthat the two printheads are too far apart.

According to one embodiment, compensation module 216 is implemented toperform uniformity compensation to correct overlapping pel formingelements 165 at adjacent printheads 162. Similar to the discussion abovewith reference to jet-out compensation, compensation module 216 alsogenerates transfer functions for each of a plurality of color planes(e.g., CMYK) to compensate for overlapping pel forming elements 165. Asa result, the transfer functions are generated based on ink depositionfunctions for groups of pel forming elements including overlapping pelforming elements and non-overlapping pel forming elements.

In this embodiment, compensation module 216 generates a first inkdeposition function associated with a local group (IDLG) of pel formingelements 165 for each of a plurality of color planes, generates a secondink deposition function associated with the local group having one ormore overlapping pel forming elements 165 (e.g., attributed to printheadoverlap) (IDLGOL), generates a third ink deposition function associatedwith a non-local group (IDNILG) of pel forming elements 165, generates afourth ink deposition function associated with the non-local grouphaving one or more overlapping pel forming elements 165 (IDNILGOL) andgenerates the transfer functions for each of the plurality of colorplanes based on the first ink deposition function, the second inkdeposition function, the third ink deposition function and the fourthink deposition function. In this case local group refers to the pelforming elements that will be used for the compensation. This forexample might include a single pel at the ends of two adjacentprintheads or two pel forming elements at the end of each printhead,etc. Gaussians have a one-to-one correspondence to each pel element.

In an alternative embodiment, compensation module 216 may generatecompensated halftones 220. In such an embodiment, compensation module216 generates compensated halftones 220 for each of the plurality ofcolor planes based on the inverse transfer function for each of theplurality of color planes derived from the first ink depositionfunction, the second ink deposition function, the third ink depositionfunction and the fourth ink deposition function. Similar to thediscussion above, the halftone thresholds are modified by the inversetransfer functions such that the output ink amounts corresponding tomodified halftone thresholds with the pel forming element artifacts andthe output ink amounts corresponding to un-modified halftone thresholdswithout the pel forming element artifacts are substantially equal for arange of the input digital counts.

According to one embodiment, the ink deposition computation logic 520shown in FIG. 6 is also implemented to generate the IDLG, IDLGOL, IDNILGand IDNILGOL ink deposition functions. For example, profile generationengine 620 generates Gaussian profiles associated with the IDLG, IDLGOL,IDNILG and IDNILGOL groups of pel forming elements 165 based on thenumber of pel forming elements 165, resolution data 601 and standarddeviations for the Gaussian profiles. According to this embodiment,resolution data 601 also includes printhead overlap data (e.g., delta t)associated with the overlap of the printheads. Delta t may bepre-determined (e.g., based on physical measurements of adjacentprintheads in a printhead array). The ink deposition function isobtained by summing the Gaussian ink depositions for each case.

Assuming the local group consists of two total pel forming elements, onefrom the ends of two different adjacent printheads. IDLG is obtained bysumming the Gaussian ink depositions assuming the two Gaussians have atheir nominal pel to pel spacing. IDLGOL is obtained by summing twoGaussians that have a delta t added to the spacing between the pelforming elements. In other words, the position of the two Gaussians onthe printer grid reflects the printhead overlap delta t. The inkdeposition functions may be expressed mathematically in a form similarto the ink deposition equations noted above by accounting for delta t onthe Gaussian position. The ink deposition functions are associated witha spacing amount for the overlapping pel forming elements and thenon-overlapping pel forming elements and an overlap amount (e.g., deltat).

IDNILG is obtained by summing all the Gaussian ink deposition functionsthat are not included in the local group which would be all theGaussians not including the two Gaussians at the edges of the twoadjacent printheads assuming nominal spacing of all pel formingelements. IDNILGOL is obtained by summing all the Gaussian inkdeposition functions that are not included in the local group, whichwould be all the Gaussians not including the two Gaussians at the edgesof the two adjacent printheads but still accounting for delta tinspacing for the two elements on the ends of the printheads. In addition,in this case all of the elements not in the local group are assumed tobe located at the nominal pel to pel spacing. The ink depositions forthe four functions are determined for a range of x direction pointsforming a grid, including the midpoint at x=0. The grid must include atleast the point where the compensation TF is determined.

Similarly, profile aggregation engine 630 aggregates the Gaussianprofiles to generate local ink contribution data for each of theplurality of color planes by summing contributions of Gaussian profilesfor all points x in the grid to generate the local ink contribution datafor each of the plurality of color planes, while ink deposition functiongenerator 640 uses the large-scale ink deposition data to generate inkdeposition functions associated with the IDLG, IDLGOL, IDNILG andIDNILGOL groups (e.g., IDLG (x,DC), IDLGOL (x,DC), IDNILG (x,DC) andIDNILGOL(x,DC)) for each color plane. As a result, the same process togenerate the ink deposition functions discussed above with reference toFIG. 7 is performed to generate and transmit the ink depositionfunctions for the printhead overlap embodiment. The large-scale inkdeposition LID(DC) must equal the sum of the ink depositions IDLG(x,DC)and IDNILG(x,DC) at the position x=0. This allows the determination of ascaling factor to be applied to each Gaussian ink depositions so thatthe large-scale ink deposition vs DC is achieved.

Compensation engine 530 also performs compensation attributed toprinthead overlap based on the IDLG, IDLGOL, IDNILG and IDNILGOL inkdeposition functions, such that:

-   -   IDtotal(x,DC)=IDNILG(x, DC)+IDLG(x, DC)=IDLGOL(x,        TF(DC))+IDNILGOL(x, DC), where, IDNILG(x, DC) is the ID for the        not in local group, without the overlap; IDNILGOL(x, DC) is the        ID for the not in local group, with the overlap; IDLG(x, DC) is        the target ID for the local group after TF correction, without        the overlap; IDLGOL(x, TF(DC)) is the ID in the local group with        overlap and TF compensation applied; and the total ink        deposition is IDtotal(x, DC).        Additionally, IDtotal(0,DC)=LID(DC) at the point x=0 which is        the large-scale ink deposition vs DC function:        TF(DC)=IDLGOL⁻¹(IDNILG(0,DC)+IDLG(0,DC)−IDNILGOL(0,DC))        TF(DC)=IDLGOL⁻¹(LID(DC)−IDNILGOL(0,DC))

The ITF used to correct the halftone threshold array then is:ITF(DC)=(LID(DC)−IDNILGOL(0,DC))⁻¹(IDLGOL(0,DC)),where=(LID(DC)−IDNILGOL(0,DC))⁻¹ is the inverse function of thedifference between functions LID(DC) and IDNILGOL(0,DC) at x=0As a result, the transfer function TF(DC) at the PH overlap location x=0can be determined to obtain the corrected ID after TF compensation.

In an alternative embodiment, compensation engine 530 performscompensation by using halftone generation logic 820 to generatecompensated halftones based on the IDLG, IDLGOL, IDNILG and IDNILGOL inkdeposition functions. As discussed above, the compensated halftones aregenerated for each color plane by modifying the thresholds in anun-compensated halftone design at specific columns adjacent to theoverlap region (e.g., single pel at the end of each printhead in thecase where two pels are compensated). In one embodiment, the transferfunction and halftone compensation processes are performed via processessimilar to those discussed above with reference to FIG. 9 and FIG. 10 ,respectively.

FIGS. 19A&19B are graphs illustrating compensation of pel formingelements 165 attributed to printhead overlap. FIG. 19A illustrates inkdeposition overlap compensation for the scenario in which adjacentprintheads 162 are too far apart. As shown in FIG. 19A, the divot areahas been altered at position x=0, as compared to shown in FIG. 16A. Theink deposition at x=0 has been boosted to match the ink deposition forregions where the spacing between pel forming elements are nominal. FIG.19B illustrates compensation for the scenario in which adjacentprintheads 162 are too close together (e.g., delta t is negative). Asshown in FIG. 19B, the excess ink deposition at position x=0 has beeneffectively eliminated, as compared to shown in FIG. 16B.

FIG. 20 is a graph illustrating ink deposition vs digital count withprinthead overlap compensation. FIG. 20 shows lines 2010, 2020 and 2030.Line 2010 indicates the target ink deposition without overlap for allpel forming elements 165, while line 2020 indicates measured inkdeposition with printhead overlap. Line 2030 indicates ink depositionwith overlap compensation. As shown, the compensated ink depositionmatches the target ink deposition up to a threshold digital count level.

FIG. 21 illustrates one embodiment of a compensation of columns ofthreshold data relative to the location of an overlap of pel formingelements 165 between two adjacent printheads 162 (e.g., PH1 and PH2). Inthis example the midpoint between two pel forming elements at the edgesof two adjacent printheads is located at the middle of the plotted data(e.g., position x=0). Four Gaussian profiles have been boosted, two oneach side of the midpoint, to compensate for the missing ink deposition(e.g., the valley) created by the overlap (e.g., printheads too farapart). The level applied to these four compensated nozzles at each DCis obtained from the transfer functions generated from the inkdeposition functions. The curve at the top shows the total inkdeposition from all of the Gaussian profiles at DC level 242. The curveillustrates that the boosted output from four nozzles provided anincreased ink deposition so that the level in the “valley” at the jetout location is equal to the ink deposition outside the jet-out region(e.g., near the edges). Without the jet-out compensation the set ofGaussians will all be the same and there will not be a boost.

According to one embodiment, verification engine 540 appliescompensation data to each of the color planes to generate compensatedink deposition functions (e.g., ID3_C, ID3_M, ID3_Y, ID3_K). In thisembodiment, verification engine 340 applies the generated transferfunctions to the ink deposition functions data to generate a compensatedink deposition function that is compared to the large-scale inkdeposition LID(DC). This basically is a test to verify that when thecomputed TF(DC) is used in the following expression we achievedIDtotal(x,DC) that matches LID(DC).ID3_C(DC)=IDLGOL(0,TF(DC))+IDNILGOL(0, DC) for each color C.Furthermore, variations in ink deposition for different positions x inthe vicinity of the overlap can be determined using the equationIDtotal(x,DC)=IDLGOL(x, TF(DC))+IDNILGOL(x, DC) with the computed TFused.

As discussed above, application engine 1410 compares the compensationink deposition function to the IDLGOL ink deposition function todetermine a difference and verify whether the difference between thecompensation deposition function and the ID3 ink deposition function iswithin a predetermined threshold when compared to LID(DC). In a furtherembodiment, application engine 1410 validates an acceptable compensationupon determining that the difference is within the predeterminedthreshold.

Although shown as a component of print controller 140, other embodimentsmay feature compensation module 216 included within an independentdevice, or combination of devices, communicably coupled to printcontroller 140. For instance, FIG. 22 illustrates one embodiment of acompensation module 216 implemented in a network 2200. As shown in FIG.22 , compensation module 216 is included within a computing system 2210and transmits compensated halftones and/or transfer functions toprinting system 130 via a cloud network 2250. Printing system 130receives compensated halftones and/or transfer functions.

FIG. 23 illustrates a computer system 2300 on which printing system 130and/or compensation module 216 may be implemented. Computer system 2300includes a system bus 2320 for communicating information, and aprocessor 2310 coupled to bus 2320 for processing information.

Computer system 2300 further comprises a random-access memory (RAM) orother dynamic storage device 2325 (referred to herein as main memory),coupled to bus 2320 for storing information and instructions to beexecuted by processor 2310. Main memory 2325 also may be used forstoring temporary variables or other intermediate information duringexecution of instructions by processor 2310. Computer system 2300 alsomay include a read only memory (ROM) and or other static storage device2326 coupled to bus 2320 for storing static information and instructionsused by processor 2310.

A data storage device 2327 such as a magnetic disk or optical disc andits corresponding drive may also be coupled to computer system 2300 forstoring information and instructions. Computer system 2300 can also becoupled to a second I/O bus 2350 via an I/O interface 2330. A pluralityof I/O devices may be coupled to I/O bus 2350, including a displaydevice 2324, an input device (e.g., an alphanumeric input device 2323and or a cursor control device 2322). The communication device 2321 isfor accessing other computers (servers or clients). The communicationdevice 2321 may comprise a modem, a network interface card, or otherwell-known interface device, such as those used for coupling toEthernet, token ring, or other types of networks.

Embodiments of the invention may include various steps as set forthabove. The steps may be embodied in machine-executable instructions. Theinstructions can be used to cause a general-purpose or special-purposeprocessor to perform certain steps. Alternatively, these steps may beperformed by specific hardware components that contain hardwired logicfor performing the steps, or by any combination of programmed computercomponents and custom hardware components.

Elements of the present invention may also be provided as amachine-readable medium for storing the machine-executable instructions.The machine-readable medium may include, but is not limited to, floppydiskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs,RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media orother type of media/machine-readable medium suitable for storingelectronic instructions. For example, the present invention may bedownloaded as a computer program which may be transferred from a remotecomputer (e.g., a server) to a requesting computer (e.g., a client) byway of data signals embodied in a carrier wave or other propagationmedium via a communication link (e.g., a modem or network connection).

The following clauses and/or examples pertain to further embodiments orexamples. Specifics in the examples may be used anywhere in one or moreembodiments. The various features of the different embodiments orexamples may be variously combined with some features included andothers excluded to suit a variety of different applications. Examplesmay include subject matter such as a method, means for performing actsof the method, at least one machine-readable medium includinginstructions that, when performed by a machine cause the machine toperform acts of the method, or of an apparatus or system according toembodiments and examples described herein.

Some embodiments pertain to Example 1 that includes a system comprisingat least one physical memory device to store compensation logic and oneor more processors coupled with the at least one physical memory deviceto execute the compensation logic to generate inverse transfer functionsfor each of a plurality of color planes to compensate for overlappingpel forming elements of adjacent printheads based on ink depositionfunctions for groups of pel forming elements including non-overlappingpel forming elements and the overlapping pel forming elements, whereinthe inverse transfer functions transform output digital counts and theink deposition functions represent output ink amount versus inputdigital count and generate compensated halftones for each of a pluralityof color planes based on the inverse transfer functions.

Example 2 includes the subject matter of Example 1, wherein thecompensated halftones are generated by applying the inverse transferfunctions to an uncompensated halftone design to modify halftonethresholds of the uncompensated halftone design.

Example 3 includes the subject matter of Examples 1 and 2, wherein thecompensation logic further to generate a first ink deposition functionfor each of a plurality of color planes, wherein the first inkdeposition function is associated with a first group of pel formingelements, generate a second ink deposition function for each of theplurality of color planes, wherein the second ink deposition function isassociated with the first group of pel forming elements furthercomprising one or more overlapping pel forming elements, generate athird ink deposition function for each of the plurality of color planes,wherein the third ink deposition function is associated with a secondgroup of pel forming elements, generate a fourth ink deposition functionfor each of the plurality of color planes, wherein the fourth inkdeposition function is associated with the second group of pel formingelements further comprising the one or more overlapping pel formingelements and generate the inverse transfer functions for each of theplurality of color planes based on the first ink deposition function,the second ink deposition function, the third ink deposition functionand the fourth ink deposition function.

Example 4 includes the subject matter of Examples 1-3, wherein the firstgroup comprises a local group of pel forming elements and the secondgroup comprises a non-local group of pel forming elements.

Example 5 includes the subject matter of Examples 1-4, whereingenerating the first, second, third and fourth ink deposition functionscomprises generating a first Gaussian profile associated with the localgroup of pel forming elements, generating a second Gaussian profileassociated with the local group of pel forming elements having the oneor more overlapping pel forming elements, and generating a thirdGaussian profile associated with the non-local group of pel formingelements and generating a fourth Gaussian profile associated with thenon-local group of pel forming elements having the one or moreoverlapping pel forming elements.

Example 6 includes the subject matter of Examples 1-5, whereingenerating the first, second, third and fourth ink deposition functionsfurther comprises combining the first, second, third and fourth inkdeposition functions Gaussian profiles to generate local inkcontribution data for each of the plurality of color planes.

Example 7 includes the subject matter of Examples 1-6, whereingenerating first, second, third and fourth ink deposition functions inkdeposition functions further comprises combining the local inkcontribution data with large-scale ink contribution data to generatelarge-scale ink deposition data that matches the large-scale inkcontribution data.

Example 8 includes the subject matter of Examples 1-7, wherein the inkdeposition functions are associated with a spacing amount for theoverlapping pel forming elements and the non-overlapping pel formingelements and an overlap amount.

Example 9 includes the subject matter of Examples 1-8, wherein an inkdeposition function further comprises a function of a pel formingelement position and input digital count.

Example 10 includes the subject matter of Examples 1-9, wherein thefirst, second and third ink deposition functions correspond to theuncompensated halftone design.

Example 11 includes the subject matter of Examples 1-10, furthercomprising a print engine comprising a plurality of pel formingelements.

Some embodiments pertain to Example 12 that includes a method comprisinggenerating inverse transfer functions for each of a plurality of colorplanes to compensate for overlapping pel forming elements of adjacentprintheads based on ink deposition functions for groups of pel formingelements including non-overlapping pel forming elements and theoverlapping pel forming elements, wherein the inverse transfer functionstransform output digital counts and the ink deposition functionsrepresent output ink amount versus input digital count and generatingcompensated halftones for each of a plurality of color planes based onthe inverse transfer functions.

Example 13 includes the subject matter of Example 12, wherein generatingthe compensated halftones comprises applying the inverse transferfunctions to an uncompensated halftone design to modify halftonethresholds of the uncompensated halftone design.

Example 14 includes the subject matter of Examples 12 and 13, furthercomprising generating a first ink deposition function for each of aplurality of color planes, wherein the first ink deposition function isassociated with a first group of pel forming elements, generating asecond ink deposition function for each of the plurality of colorplanes, wherein the second ink deposition function is associated withthe first group of pel forming elements further comprising one or moreoverlapping pel forming elements, generating a third ink depositionfunction for each of the plurality of color planes, wherein the thirdink deposition function is associated with a second group of pel formingelements, generating a fourth ink deposition function for each of theplurality of color planes, wherein the fourth ink deposition function isassociated with the second group of pel forming elements furthercomprising the one or more overlapping pel forming elements andgenerating the inverse transfer functions for each of the plurality ofcolor planes based on the first ink deposition function, the second inkdeposition function, the third ink deposition function and the fourthink deposition function.

Example 15 includes the subject matter of Examples 12-14, wherein thefirst group comprises a local group of pel forming elements and thesecond group comprises a non-local group of pel forming elements.

Example 16 includes the subject matter of Examples 12-15, whereingenerating the first, second, third and fourth ink deposition functionscomprises generating a first Gaussian profile associated with the localgroup of pel forming elements, generating a second Gaussian profileassociated with the local group of pel forming elements having the oneor more overlapping pel forming elements and generating a third Gaussianprofile associated with the non-local group of pel forming elements andgenerating a fourth Gaussian profile associated with the non-local groupof pel forming elements having the one or more overlapping pel formingelements.

Some embodiments pertain to Example 17 that includes at least onecomputer readable medium having instructions stored thereon, which whenexecuted by one or more processors, cause the processors to generateinverse transfer functions for each of a plurality of color planes tocompensate for overlapping pel forming elements of adjacent printheadsbased on ink deposition functions for groups of pel forming elementsincluding non-overlapping pel forming elements and the overlapping pelforming elements, wherein the inverse transfer functions transformoutput digital counts and the ink deposition functions represent outputink amount versus input digital count and generate compensated halftonesfor each of a plurality of color planes based on the inverse transferfunctions.

Example 18 includes the subject matter of Example 17, wherein thecompensated halftones are generated by applying the inverse transferfunctions to an uncompensated halftone design to modify halftonethresholds of the uncompensated halftone design.

Example 19 includes the subject matter of Examples 17 and 18, havinginstructions stored thereon, which when executed by one or moreprocessors, further cause the processors to generate a first inkdeposition function for each of a plurality of color planes, wherein thefirst ink deposition function is associated with a first group of pelforming elements, generate a second ink deposition function for each ofthe plurality of color planes, wherein the second ink depositionfunction is associated with the first group of pel forming elementsfurther comprising one or more overlapping pel forming elements,generate a third ink deposition function for each of the plurality ofcolor planes, wherein the third ink deposition function is associatedwith a second group of pel forming elements, generate a fourth inkdeposition function for each of the plurality of color planes, whereinthe fourth ink deposition function is associated with the second groupof pel forming elements further comprising the one or more overlappingpel forming elements and generate the inverse transfer functions foreach of the plurality of color planes based on the first ink depositionfunction, the second ink deposition function, the third ink depositionfunction and the fourth ink deposition function.

Example 20 includes the subject matter of Examples 17-19, wherein thefirst group comprises a local group of pel forming elements and thesecond group comprises a non-local group of pel forming elements.

Whereas many alterations and modifications of the present invention willno doubt become apparent to a person of ordinary skill in the art afterhaving read the foregoing description, it is to be understood that anyparticular embodiment shown and described by way of illustration is inno way intended to be considered limiting. Therefore, references todetails of various embodiments are not intended to limit the scope ofthe claims, which in themselves recite only those features regarded asessential to the invention.

What is claimed is:
 1. A system comprising: at least one physical memorydevice to store compensation logic; and one or more processors coupledwith the at least one physical memory device to execute the compensationlogic to: generate inverse transfer functions for each of a plurality ofcolor planes to compensate for overlapping pel forming elements ofadjacent printheads based on ink deposition functions for groups of pelforming elements including non-overlapping pel forming elements and theoverlapping pel forming elements, wherein the inverse transfer functionstransform output digital counts and the ink deposition functionsrepresent output ink amount versus input digital count; and generatecompensated halftones for each of the plurality of color planes based onthe inverse transfer functions.
 2. The system of claim 1, wherein thecompensated halftones are generated by applying the inverse transferfunctions to an uncompensated halftone design to modify halftonethresholds of the uncompensated halftone design.
 3. The system of claim1, wherein the compensation logic further to: generate a first inkdeposition function for each of the plurality of color planes, whereinthe first ink deposition function is associated with a first group ofpel forming elements; generate a second ink deposition function for eachof the plurality of color planes, wherein the second ink depositionfunction is associated with the first group of pel forming elementsfurther comprising one or more overlapping pel forming elements;generate a third ink deposition function for each of the plurality ofcolor planes, wherein the third ink deposition function is associatedwith a second group of pel forming elements; generate a fourth inkdeposition function for each of the plurality of color planes, whereinthe fourth ink deposition function is associated with the second groupof pel forming elements further comprising the one or more overlappingpel forming elements; and generate the inverse transfer functions foreach of the plurality of color planes based on the first ink depositionfunction, the second ink deposition function, the third ink depositionfunction and the fourth ink deposition function.
 4. The system of claim3, wherein the first group comprises a local group of pel formingelements and the second group comprises a non-local group of pel formingelements.
 5. The system of claim 4, wherein generating the first,second, third and fourth ink deposition functions comprises generating afirst Gaussian profile associated with the local group of pel formingelements, generating a second Gaussian profile associated with the localgroup of pel forming elements having the one or more overlapping pelforming elements, and generating a third Gaussian profile associatedwith the non-local group of pel forming elements and generating a fourthGaussian profile associated with the non-local group of pel formingelements having the one or more overlapping pel forming elements.
 6. Thesystem of claim 5, wherein generating the first, second, third andfourth ink deposition functions further comprises combining the first,second, third and fourth ink deposition functions Gaussian profiles togenerate local ink contribution data for each of the plurality of colorplanes.
 7. The system of claim 6, wherein generating first, second,third and fourth ink deposition functions ink deposition functionsfurther comprises combining the local ink contribution data withlarge-scale ink contribution data to generate large-scale ink depositiondata that matches the large-scale ink contribution data.
 8. The systemof claim 1, wherein the ink deposition functions are associated with aspacing amount for the overlapping pel forming elements and thenon-overlapping pel forming elements and an overlap amount.
 9. Thesystem of claim 1, wherein an ink deposition function further comprisesa function of a pel forming element position and the input digitalcount.
 10. The system of claim 2, wherein the first, second and thirdink deposition functions correspond to the uncompensated halftonedesign.
 11. The system of claim 1, further comprising a print enginecomprising a plurality of pel forming elements.
 12. A method comprising:generating inverse transfer functions for each of a plurality of colorplanes to compensate for overlapping pel forming elements of adjacentprintheads based on ink deposition functions for groups of pel formingelements including non-overlapping pel forming elements and theoverlapping pel forming elements, wherein the inverse transfer functionstransform output digital counts and the ink deposition functionsrepresent output ink amount versus input digital count; and generatingcompensated halftones for each of the plurality of color planes based onthe inverse transfer functions.
 13. The method of claim 12, whereingenerating the compensated halftones comprises applying the inversetransfer functions to an uncompensated halftone design to modifyhalftone thresholds of the uncompensated halftone design.
 14. The methodof claim 12, further comprising: generating a first ink depositionfunction for each of the plurality of color planes, wherein the firstink deposition function is associated with a first group of pel formingelements; generating a second ink deposition function for each of theplurality of color planes, wherein the second ink deposition function isassociated with the first group of pel forming elements furthercomprising one or more overlapping pel forming elements; generating athird ink deposition function for each of the plurality of color planes,wherein the third ink deposition function is associated with a secondgroup of pel forming elements; generating a fourth ink depositionfunction for each of the plurality of color planes, wherein the fourthink deposition function is associated with the second group of pelforming elements further comprising the one or more overlapping pelforming elements; and generating the inverse transfer functions for eachof the plurality of color planes based on the first ink depositionfunction, the second ink deposition function, the third ink depositionfunction and the fourth ink deposition function.
 15. The method of claim14, wherein the first group comprises a local group of pel formingelements and the second group comprises a non-local group of pel formingelements.
 16. The method of claim 15, wherein generating the first,second, third and fourth ink deposition functions comprises: generatinga first Gaussian profile associated with the local group of pel formingelements; generating a second Gaussian profile associated with the localgroup of pel forming elements having the one or more overlapping pelforming elements; and generating a third Gaussian profile associatedwith the non-local group of pel forming elements and generating a fourthGaussian profile associated with the non-local group of pel formingelements having the one or more overlapping pel forming elements.
 17. Atleast one non-transitory computer readable medium having instructionsstored thereon, which when executed by one or more processors, cause theprocessors to: generate inverse transfer functions for each of aplurality of color planes to compensate for overlapping pel formingelements of adjacent printheads based on ink deposition functions forgroups of pel forming elements including non-overlapping pel formingelements and the overlapping pel forming elements, wherein the inversetransfer functions transform output digital counts and the inkdeposition functions represent output ink amount versus input digitalcount; and generate compensated halftones for each of the plurality ofcolor planes based on the inverse transfer functions.
 18. The computerreadable medium of claim 17, wherein the compensated halftones aregenerated by applying the inverse transfer functions to an uncompensatedhalftone design to modify halftone thresholds of the uncompensatedhalftone design.
 19. The computer readable medium of claim 17, havinginstructions stored thereon, which when executed by one or moreprocessors, further cause the processors to: generate a first inkdeposition function for each of the plurality of color planes, whereinthe first ink deposition function is associated with a first group ofpel forming elements; generate a second ink deposition function for eachof the plurality of color planes, wherein the second ink depositionfunction is associated with the first group of pel forming elementsfurther comprising one or more overlapping pel forming elements;generate a third ink deposition function for each of the plurality ofcolor planes, wherein the third ink deposition function is associatedwith a second group of pel forming elements; generate a fourth inkdeposition function for each of the plurality of color planes, whereinthe fourth ink deposition function is associated with the second groupof pel forming elements further comprising the one or more overlappingpel forming elements; and generate the inverse transfer functions foreach of the plurality of color planes based on the first ink depositionfunction, the second ink deposition function, the third ink depositionfunction and the fourth ink deposition function.
 20. The computerreadable medium of claim 19, wherein the first group comprises a localgroup of pel forming elements and the second group comprises a non-localgroup of pel forming elements.